Talking bananas: structural recursion for session types
نویسندگان
چکیده
منابع مشابه
Talking Bananas
Session types provide static guarantees that concurrent programs respect communication protocols. We give a novel account of recursive session types in the context of GV, a small concurrent extension of the linear λ-calculus. We extend GV with recursive types and catamorphisms, following the initial algebra semantics of recursion, and show that doing so naturally gives rise to recursive session...
متن کاملTermination Checking: Comparing Structural Recursion and Sized Types by Examples
Termination is an important property for programs and is necessary for formal proofs to make sense. In order to make sure that a program using recursion is terminating, one can use a termination checker that will use some strategy to verify the termination of a given program. Two very common strategies are structural recursion that makes an analysis on the structure of terms and sized types tha...
متن کاملSession Types for Broadcasting
Up to now session types have been used under the assumptions of point to point communication, to ensure the linearity of session endpoints, and reliable communication, to ensure send/receive duality. In this paper we define a session type theory for broadcast communication semantics that by definition do not assume point to point and reliable communication. Our session framework lies on top of ...
متن کاملUsing Structural Recursion for Corecursion
We propose a (limited) solution to the problem of constructing stream values defined by recursive equations that do not respect the guardedness condition. The guardedness condition is imposed on definitions of corecursive functions in Coq, AGDA, and other higher-order proof assistants. In this paper, we concentrate in particular on those nonguarded equations where recursive calls appear under f...
متن کاملStructured recursion for non-uniform data-types
Recursion is a simple but powerful programming technique used extensively in functional languages. For a number of reasons, however, it is often desirable to use structured forms of recursion in programming, encapsulated in so-called recursion operators, in preference to unrestricted recursion. In particular, using recursion operators has proved invaluable for transforming and reasoning about f...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: ACM SIGPLAN Notices
سال: 2016
ISSN: 0362-1340,1558-1160
DOI: 10.1145/3022670.2951921